<template>
    <div id="tmpl">
        <!-- 1.0 实现的是图片详情和缩略图 -->
        <div id="desc">
            <!-- 图片详情-标题部分 -->
            <div class="title">
                <h4>{{photoinfo.title}}</h4>
                <p>
                    {{photoinfo.add_time | datefmt('YYYY-MM-DD HH:mm:ss')}} {{photoinfo.click}}次浏览
                </p>
                <p class="line"></p>
            </div>

            <!--缩略图-->
			<div class="mui-content">
				<ul class="mui-table-view mui-grid-view mui-grid-9">
					<li v-for="(item, index) in list" class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
						<img class="preview-img" :src="item.src" height="100" @click="$preview.open(index, list)">
					</li>
				</ul>
			</div>
            
            <!-- 图片详情-摘要部分 -->
            <p v-html="photoinfo.content"></p>
            <!-- 2.0 集成评论组件 -->
            <div id="comment">
                <comment :id="id"></comment>
            </div>
        </div>
    </div>
</template>

<script>
	import { Toast } from 'mint-ui';
    import common from '../../kits/common.js';
    // 1.0 导入评论组件：comment.vue
    import comment from '../subcom/comment.vue';
    export default{
        components:{
            comment //2.0.1 注册评论组件
        },
        data(){
            return {
                id:0, //图片的id
                photoinfo:{},  //图片的详情描述数据对象
                list :[]
            }
        },
        created(){
            // 1.0 获取url传入的id参数值赋值给data中的id属性
            this.id = this.$route.params.id;
            // 2.0 请求服务器获取到这个id对应的图片详情数据对象
            this.getinfo();

            // 2.0 请求缩略图数据
			this.getimgs();
        },
        methods:{
            // 1.0 获取图片详情描述数据
            getinfo(){
                // 1.0 确定url
                var url = common.apidomain +'/api/getimageInfo/'+this.id;
                // 2.0 调用$http的get方法获取数据
                this.$http.get(url).then(function(res){
                    if(res.body.status != 0){
                        Toast(res.body.message);
                        return;
                    }
                    // 3.0 实现数据的赋值操作
                    this.photoinfo = res.body.message[0];
                });
            },
            handleClose () {
                console.log('close event')
            },
            // 2.0 获取缩略图数据
			getimgs(){
				var url = common.apidomain + '/api/getthumimages/'+this.id;
				this.$http.get(url).then(function(res){
					var body = res.body;
					if(body.status != 0 ){
						Toast(body.message);
						return;
					}
					// 将正常的逻辑数据赋值给this.list数组
					// 由于vue-preview组件要求的数据是 {src:,w:,h:}但是服务器响应回来的数据中是没有 w ,h 的，所以只能自己添加了
					body.message.forEach(function(item){
					// 当前所有图片不管有多大都设置为宽高为400，就会导致图片失真了，所以应该按照图片的实际尺寸来设置
						var img = document.createElement('img');
						img.src = item.src;
						item.h = img.height;
						item.w = img.width;
					});
					this.list = body.message;
				});

			}
        }
    }
</script>

<style scoped>
    /* 图片详情样式 */
    #desc{
        padding: 10px;
    }
    #desc h4{
        color: #0094ff;
    }
    #desc .title p{
        color: rgba(0,0,0,0.4);
        margin-top: 10px;
    }
    #desc .title .line{
        width: 100%;
        height: 1px;
        border-bottom: 2px solid rgba(0,0,0,0.2)
    }
    
    .mui-content,.mui-content ul{
        background-color: #ffffff;
    }
    .mui-grid-view.mui-grid-9 .mui-table-view-cell{
        border:0px; 
    }
    .mui-grid-view.mui-grid-9{
        border:0px; 
    }

    /* 9宫格缩略图样式 */
    .mui-content img{
        width: 100px;
        height: 100px;
    }
</style>

